home *** CD-ROM | disk | FTP | other *** search
/ Graphics Plus / Graphics Plus.iso / general / fractal / kaos.lha / modellib / henonmap_def.c < prev    next >
Encoding:
Text File  |  1990-01-16  |  1011 b   |  61 lines

  1. int henonmap_init()
  2. {
  3.     title_label = "Henon Map";
  4.  
  5.     mapping_on = 1;
  6.     inverse_on = 1;
  7.     fderiv_on = 0;
  8.     enable_polar = 0;
  9.     enable_period = 0;
  10.     
  11.     var_dim = 2;
  12.     param_dim = 2;
  13.     func_dim = 0;
  14.  
  15.     (void) malloc_init();
  16.  
  17.     var_label[0] = "x";
  18.     var_label[1] = "y";
  19.     param_label[0] = "a";
  20.     param_label[1] = "b";
  21.  
  22.     param[0] = 1.34;
  23.     param[1] = 0.3;
  24.  
  25.     var_i[0] = 0;
  26.     var_i[1] = 0;
  27.  
  28.     param_min[0]= -5; param_max[0]= 5;
  29.     param_min[1]= -5; param_max[1]= 5;
  30.  
  31.     var_min[0]= -5; var_max[0]= 5;
  32.     var_min[1]= -5; var_max[1]= 5;
  33.  
  34.     f_p = henonmap_f;
  35.     func_p = henonmap_func;
  36. }
  37. /* Henon map */
  38. int henonmap_f(f,index,x,p,t,dim)
  39. int index,dim;
  40. double f[],x[],p[],t;
  41. {
  42.     /* an example of a mapping */
  43.     /* forward mapping */
  44.     if(index ==1) {
  45.         f[0] = 1. + x[1] - p[0] * x[0] * x[0];
  46.         f[1] = p[1] * x[0]; 
  47.     }
  48.     /* backward mapping */
  49.     else if(index ==0) {
  50.         f[0] = 1./p[1] * x[1];
  51.         f[1] = -1. + x[0] + p[0]/p[1]/p[1] * x[1] * x[1]; 
  52.     }
  53.     
  54. }
  55. int henonmap_func(f,x,p,t,dim)
  56. double f[],x[],p[],t;
  57. int dim;
  58. {
  59.     /* an example of no definition */
  60. }
  61.